home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 076-100 / disk_092 / as6502 / assmtest < prev    next >
Text File  |  1992-05-06  |  3KB  |  132 lines

  1.  .PAGE "A test program for as6502"
  2.  .list
  3. ;******************************************
  4. ; Test file for the 6502 assembler - as6502
  5. ; assemble as
  6. ;     as6502 -nsv assmtest
  7. ; and compare output with assmtest.l
  8. ;******************************************
  9. ;; comment treatment
  10. ;******************************************
  11. aa = $10; ';' immediately after the '0'
  12. B = $20 space to comment subfield
  13. C = $30    tab to comment subfield
  14. DEFGHIjkl = $FFEE
  15. D =DEFGHIjkl
  16. ;******************************************
  17. ; Number formats
  18. ;******************************************
  19.  .byte %0101 ; binary number
  20.  .byte 022,@22 ; octal numbers - two forms
  21.  .byte 22 ; decimal number
  22.  .byte $22,$ff,$FF ; hex - upper/lower case
  23.  .byte 'a,'b ; single ASCII characters
  24. ;******************************************
  25. ;; ASCII character string
  26. ;******************************************
  27.  .byte "abcd\t\n",0 ;   tab and new line escaped
  28. ;******************************************
  29. ; Operation checks
  30. ;******************************************
  31.  .word aa+B ; addition
  32.  .word aa-B ; subtraction
  33.  .word aa*B ; multiplication
  34.  .word B/aa ; division
  35.  .word C%B ; modulo
  36.  .word B^C ; exclusive OR
  37.  .word ~C ; one's complement
  38.  .word B&C ; logical AND
  39.  .word aa|B ; logical OR
  40.  .word <D ; low byte
  41.  .word >D ; high byte
  42.  .word * ; current location
  43.  .word aa,B,C
  44.  .word B*[aa+C] ; one level of parenthesis
  45.  .dbyt D ; high byte-low byte word
  46.  .word D/256,D%256
  47. ;******************************************
  48. ; Addressing Mode Check
  49. ;******************************************
  50.  *=$0100
  51.  lda =aa ; immediate addressing
  52.  lda #aa ; immediate addressing, alternate
  53.  lda D ; direct addessing
  54.  LDA aa ; page zero addressing, aa < 256
  55. a1 = 512
  56. a2 = 500
  57.  lda a1-a2 ; also page zero
  58.  asl A ; accumulator addressing
  59.  AsL a ; accumulator addressing also
  60.  brk ; implied addressing
  61.  lda (aa,X) ; indirect,X addressing
  62.  lda (aa),Y ; indirect,Y addressing
  63.  lda aa,X ; zero page,X addressing
  64.  lda D,X ; absolute,X addressing
  65.  lda D,Y ; absolute,Y addressing
  66.  bcc *-$10 ; relative addressing
  67.  jmp (D) ; indirect addressing
  68.  ldx aa,Y ; zero page,Y addressing
  69.  ldx aa,y ; alternate index name
  70.  .nlst
  71.  ; if this comes out .nlist doesnt work!   ****
  72.  .list
  73. ;******************************************
  74. ; opcode check
  75. ;******************************************
  76.  adc =01
  77.  and =01
  78.  asl A
  79.  bcc *+2
  80.  bcs *+2
  81.  beq *+2
  82.  bit $01
  83.  bmi *+2
  84.  bne *+2
  85.  bpl *+2
  86.  brk
  87.  bvc *+2
  88.  bvs *+2
  89.  clc
  90.  cld
  91.  cli
  92.  clv
  93.  cmp =01
  94.  cpx =01
  95.  cpy =01
  96.  dec $01
  97.  dex
  98.  dey
  99.  eor =01
  100.  inc $01
  101.  inx
  102.  iny
  103.  jmp *+3
  104.  jsr *+3
  105.  lda =01
  106.  ldx =01
  107.  ldy =01
  108.  lsr A
  109.  nop
  110.  ora =01
  111.  pha
  112.  php
  113.  pla
  114.  plp
  115.  rol A
  116.  ror A
  117.  rti
  118.  rts
  119.  sbc =01
  120.  sec
  121.  sed
  122.  sei
  123.  sta $01
  124.  stx $01
  125.  sty $01
  126.  tax
  127.  tay
  128.  tsx
  129.  txa
  130.  txs
  131.  tya
  132.